/****************************************************************************
 *
 *   Copyright (c) 2020-2022 PX4 Development Team. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name PX4 nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include "geo_mag_declination.h"


TEST(GeoLookupTest, declination)
{
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.50566, 0.40065 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.69586, 0.39371 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.70545, 0.38793 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.58317, 0.38312 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.37217, 0.3791 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 31.11298, 0.37576 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.84433, 0.37297 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.6007, 0.37063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.40695, 0.36866 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.2719, 0.36698 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.18285, 0.36556 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.10305, 0.36437 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.97263, 0.36343 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.71298, 0.36279 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.23373, 0.36253 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.44186, 0.36278 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.25195, 0.36369 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.59667, 0.36541 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.43663, 0.3681 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.7687, 0.37189 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.63217, 0.37686 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.11148, 0.38306 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.33372, 0.3905 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.45875, 0.39916 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.6614, 0.40904 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.89188, 0.42014 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -4.06681, 0.43246 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.77958, 0.44595 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.00606, 0.46041 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.78122, 0.47549 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.19087, 0.4906 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.35941, 0.50492 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.43684, 0.51744 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.5862, 0.52701 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -16.96891, 0.53257 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.72493, 0.53335 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -20.94835, 0.52906 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.66615, 0.52004 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.83055, 0.5072 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.3309, 0.49184 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -34.02043, 0.4754 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.74655, 0.45921 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.37338, 0.44434 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.79206, 0.43151 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.92048, 0.42114 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.69739, 0.41343 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -53.07519, 0.40843 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -55.01385, 0.40614 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.47617, 0.40654 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.42368, 0.40965 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.8117, 0.41559 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.58286, 0.42454 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.65944, 0.43681 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.93683, 0.45275 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.28282, 0.4726 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.54938, 0.4962 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.60629, 0.52255 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.40282, 0.54927 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.04874, 0.57252 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -21.872, 0.58786 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.38769, 0.59212 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.15993, 0.58499 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.36154, 0.56894 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.92368, 0.54763 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.45182, 0.52438 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.98528, 0.5015 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.61798, 0.4803 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.46159, 0.4614 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.62788, 0.44494 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 29.22237, 0.43087 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.34257, 0.41896 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 31.07731, 0.40898 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.50566, 0.40065 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.54462, 0.37423 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.847, 0.37033 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.97658, 0.36708 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.97301, 0.3644 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.87004, 0.36219 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.70027, 0.3604 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.49855, 0.35898 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.30152, 0.35791 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.14273, 0.35715 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 26.04516, 0.35668 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 26.0138, 0.35648 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.03015, 0.35656 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.04902, 0.3569 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 25.99799, 0.35755 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.77998, 0.35854 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.28033, 0.35997 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.37909, 0.36198 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 22.96755, 0.36477 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 20.96594, 0.36852 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.33982, 0.37341 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.11302, 0.37957 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.37546, 0.38703 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.28267, 0.39577 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.04267, 0.40574 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -1.11141, 0.41692 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.95856, 0.42939 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.32604, 0.44328 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.11345, 0.45871 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.29901, 0.47572 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -14.92951, 0.49414 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.10029, 0.51358 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -16.93495, 0.53327 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.57358, 0.55204 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.17284, 0.56828 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -18.91008, 0.58002 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -19.97497, 0.58539 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.53612, 0.58312 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.69082, 0.57307 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.42614, 0.55632 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.61873, 0.53495 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -33.07448, 0.51143 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.5834, 0.48806 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.96198, 0.46662 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -43.07038, 0.44822 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.80923, 0.4334 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -48.1074, 0.42227 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.90971, 0.41471 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -51.16869, 0.41049 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.84019, 0.40933 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.88085, 0.41095 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.2453, 0.41513 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.8826, 0.42161 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.73459, 0.43011 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.74228, 0.4402 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -40.86717, 0.45115 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.12859, 0.46181 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.64382, 0.47071 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.64227, 0.47643 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.42818, 0.47814 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.30241, 0.47587 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.49124, 0.47039 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.12282, 0.4627 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.75132, 0.45369 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 8.11995, 0.444 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.98556, 0.4341 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.35353, 0.42431 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.23135, 0.41489 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.63141, 0.40606 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.57411, 0.39796 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 24.09027, 0.39071 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 25.22207, 0.38435 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 26.02131, 0.37887 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.54462, 0.37423 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.71498, 0.35481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 23.05656, 0.35275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.2434, 0.35109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.30893, 0.34976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.27698, 0.34874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.16806, 0.34798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 23.00622, 0.34748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.82175, 0.34723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.64818, 0.34726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.51567, 0.34756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.44349, 0.34818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43337, 0.34912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.46298, 0.35039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.47908, 0.35198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.39227, 0.35393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.07785, 0.35627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.38739, 0.35912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.17082, 0.36269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.30434, 0.3672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.71746, 0.37286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.41508, 0.37982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.49176, 0.38806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.13354, 0.39748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.40026, 0.40798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.8181, 0.41951 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.85151, 0.43223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.30488, 0.4464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.08253, 0.46235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.18677, 0.48031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.69251, 0.50039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.70965, 0.52247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.34909, 0.54618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.70875, 0.57066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -20.88866, 0.59426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.027, 0.61441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.32712, 0.62787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.03749, 0.63163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.37224, 0.6241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.41464, 0.60588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -28.07341, 0.57962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -31.12299, 0.54904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -34.29177, 0.51789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -37.338, 0.48905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -40.08195, 0.46426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.40118, 0.44425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -44.21122, 0.42907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.44851, 0.41837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -46.06128, 0.41161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -46.00747, 0.40819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.25514, 0.40751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.7822, 0.40893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.57495, 0.41183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.63071, 0.41553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -34.9723, 0.41926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.67638, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -25.90127, 0.42342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -20.88545, 0.42252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -15.89795, 0.4195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.16119, 0.41495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.79574, 0.40963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.81834, 0.4042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.8176, 0.39901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.17186, 0.39412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.28334, 0.38945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.16003, 0.3849 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.78645, 0.3804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 15.13661, 0.37596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.18448, 0.37163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.91075, 0.36751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.30824, 0.3637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.38671, 0.36028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.17459, 0.35731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.71498, 0.35481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.64538, 0.34006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.98261, 0.33914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.18647, 0.3385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.28919, 0.33809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.30753, 0.33788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.24982, 0.33785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.12602, 0.33799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.95412, 0.33833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.76004, 0.33888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.57302, 0.3397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.41997, 0.34081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.31963, 0.34227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.27425, 0.34407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.25657, 0.34622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.19503, 0.3487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 18.96555, 0.35154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.39975, 0.35483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.31199, 0.35877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.53826, 0.36361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 12.9755, 0.36958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.61364, 0.37677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.55621, 0.38514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.02259, 0.39449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.67843, 0.40463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -8.20681, 0.41555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -12.26467, 0.42748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.65545, 0.44083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.30773, 0.45604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.26137, 0.47345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.626, 0.49325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.52674, 0.51555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.05659, 0.54035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.25769, 0.56733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.1461, 0.59543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -22.77538, 0.62226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.30688, 0.644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.03029, 0.65605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.28628, 0.65479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.31435, 0.63933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -25.13254, 0.61197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.54053, 0.57725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -30.22695, 0.54023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.88702, 0.50511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -35.28383, 0.47452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -37.25263, 0.44959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.68058, 0.43039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.48818, 0.41638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.62157, 0.40678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -39.05242, 0.40067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.77878, 0.39717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.82155, 0.39544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.21773, 0.39469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.01945, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.30861, 0.3933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.22338, 0.39142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -17.97126, 0.38824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.79976, 0.38386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -9.92657, 0.37877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.47146, 0.37361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.43443, 0.36893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.72708, 0.36502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.76916, 0.36187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.15009, 0.35931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.46081, 0.35708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.69677, 0.35499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.8228, 0.3529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.79397, 0.35079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.56738, 0.34866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 16.10614, 0.34658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.38287, 0.3446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.38657, 0.34282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 19.12919, 0.34129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.64538, 0.34006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 17.14231, 0.32874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.44506, 0.32853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.6342, 0.32854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.74583, 0.32875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.79426, 0.32912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.77838, 0.32963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.69433, 0.33026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.54541, 0.33103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.3451, 0.33198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.11535, 0.33313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.88393, 0.33455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.6811, 0.33627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.53065, 0.3383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.43141, 0.34064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.33258, 0.34326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.11595, 0.34617 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.60014, 0.34948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.57248, 0.35339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 12.83878, 0.35814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.2745, 0.36394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 6.86541, 0.37084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 2.732, 0.3787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.87174, 0.38724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.59707, 0.39627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -11.07574, 0.40584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -15.00505, 0.41629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -18.2065, 0.42813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.63988, 0.44182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.37764, 0.45766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.5529, 0.47575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.29561, 0.49615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.67749, 0.51894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.69123, 0.54411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.28099, 0.57118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.42018, 0.59856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.20679, 0.62295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -20.92076, 0.6397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -19.97782, 0.64424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.7678, 0.63426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.47422, 0.61084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -22.00821, 0.57793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -24.08579, 0.54074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.36162, 0.50405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.52597, 0.4712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.33929, 0.44384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.62993, 0.42231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.28459, 0.40613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.24366, 0.39439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.49925, 0.38611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.08808, 0.38032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.0752, 0.37616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.53452, 0.37294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.54219, 0.37007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.19449, 0.36705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.63897, 0.36353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.08452, 0.35939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.7614, 0.35482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.84482, 0.35025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.39284, 0.34613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33882, 0.34278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.46321, 0.34029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.17064, 0.33855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.8945, 0.33733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.67317, 0.33639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.48191, 0.33553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.26404, 0.33464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.96024, 0.33369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.52055, 0.33269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.9023, 0.33169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 15.06804, 0.33072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.99249, 0.32987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.6745, 0.32919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 17.14231, 0.32874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 15.10099, 0.32015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.34739, 0.32037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.49484, 0.32081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.5876, 0.32144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.64233, 0.32221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.65272, 0.32311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.60376, 0.32411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.4847, 0.32522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.29507, 0.32645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.04606, 0.32785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.76158, 0.32944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.47799, 0.33125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.23512, 0.3333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.05284, 0.33557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.89739, 0.33804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.65554, 0.34074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.13673, 0.34377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.11054, 0.34736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.36648, 0.35173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 7.7742, 0.35702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.32959, 0.36321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.17819, 0.37007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -4.39456, 0.37729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -9.01679, 0.3847 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -13.31721, 0.39246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -17.01027, 0.40102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.94378, 0.41093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -22.10053, 0.42262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.56568, 0.43626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.47345, 0.45176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -24.94405, 0.46892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.02975, 0.48757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.69665, 0.50763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -23.85957, 0.52881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.46246, 0.55014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -20.57325, 0.56946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -18.44488, 0.58344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.49012, 0.58854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.15272, 0.58255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.73778, 0.56558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.30734, 0.54004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.69135, 0.50969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.57671, 0.47839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.60705, 0.44926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.45459, 0.42416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.86027, 0.40376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.65253, 0.38789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.75257, 0.3759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.16653, 0.36695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -22.96238, 0.36026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.23414, 0.35513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.06893, 0.35102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.53896, 0.3475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.72827, 0.3442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.77405, 0.34084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -7.87926, 0.33732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.26702, 0.33374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.09663, 0.33038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39813, 0.32755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.06765, 0.32542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.07919, 0.32402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.22855, 0.32321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.5015, 0.32281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.92571, 0.32259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.45282, 0.32239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.00292, 0.32213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.50373, 0.3218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.90297, 0.32142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.15868, 0.32102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.22931, 0.32063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 14.07918, 0.32031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.6956, 0.32013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 15.10099, 0.32015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.46013, 0.31389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.63597, 0.31439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.7204, 0.31509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.76899, 0.31598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.80502, 0.31702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.8214, 0.31818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.79558, 0.31943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70507, 0.32078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.53638, 0.32221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.28954, 0.32375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 12.9826, 0.32541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.65405, 0.32722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.3536, 0.32915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.11403, 0.33121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 11.91056, 0.33337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.63021, 0.3357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.07525, 0.33834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.00726, 0.34148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.21456, 0.34533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.57772, 0.34994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.11583, 0.3552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.99632, 0.36079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.4509, 0.36641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.87318, 0.37198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.91072, 0.37774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.30672, 0.3842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.93123, 0.39191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.77287, 0.40124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.90676, 0.41223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.44922, 0.4246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.50509, 0.43785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.12248, 0.4515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.27948, 0.46516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -21.91822, 0.47851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.01509, 0.49099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -17.65266, 0.50152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.0555, 0.50852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.56569, 0.51027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.562, 0.50559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.35679, 0.49432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.11305, 0.47752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.8068, 0.4571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.23806, 0.43529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -13.08234, 0.41412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.96786, 0.39506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.55704, 0.37889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.60911, 0.36575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -18.0091, 0.3554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.7596, 0.34735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -16.94117, 0.3411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.65736, 0.33621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -13.99055, 0.33231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -11.99557, 0.32911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.73608, 0.32634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.33538, 0.32374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -4.99271, 0.32122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -2.93428, 0.31879 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.32121, 0.31663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.17571, 0.3149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.62684, 0.31373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.29953, 0.3131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.05333, 0.31292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.01838, 0.31302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.21162, 0.31323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.56097, 0.31343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 6.96329, 0.31355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33402, 0.31359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.62029, 0.31357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.78354, 0.31352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.78096, 0.31347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.5685, 0.31348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 13.12269, 0.3136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.46013, 0.31389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.17599, 0.30974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.27639, 0.3104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.28483, 0.31126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.27048, 0.31231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.26681, 0.3135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.26987, 0.31481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.25289, 0.3162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18407, 0.31766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.03873, 0.31918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.80717, 0.32075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.50199, 0.32239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.16183, 0.32408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.84056, 0.32582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.57493, 0.32759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.3398, 0.3294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.01723, 0.33135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.40473, 0.33359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.26591, 0.33631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.40248, 0.33963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 3.7199, 0.34354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.26869, 0.34781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.74946, 0.35209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -8.01796, 0.35611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -12.17767, 0.35987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.90732, 0.36366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.97833, 0.36801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.27131, 0.37342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.76478, 0.38018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51073, 0.38826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.60322, 0.39725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.14119, 0.4065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.1951, 0.41532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -20.7958, 0.42314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -18.95724, 0.42963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -16.72086, 0.43461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.19221, 0.43786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -11.54845, 0.43906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.01874, 0.43778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -6.85423, 0.43363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.29643, 0.42643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.53688, 0.41643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66317, 0.40436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.60962, 0.3912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -7.14648, 0.37795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.92808, 0.36546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.5868, 0.35431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.83135, 0.34479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.50701, 0.33691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.5978, 0.33053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.17881, 0.32539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.34721, 0.3213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.17029, 0.31805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.68066, 0.31546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -6.91974, 0.31335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -4.99534, 0.31154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.10156, 0.3099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.46926, 0.30844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26817, 0.30721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.47639, 0.30633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.89856, 0.30585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.2319, 0.30576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.70805, 0.306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.46575, 0.30643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.51331, 0.30693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.75817, 0.3074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.0765, 0.30778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.37238, 0.30808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.59207, 0.30832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.70011, 0.30852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.65281, 0.30871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.39833, 0.30894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.90259, 0.30926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.17599, 0.30974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.20567, 0.3075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.23754, 0.30829 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.16848, 0.30925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 11.08295, 0.31038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 11.02776, 0.31164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 11.00547, 0.313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.98758, 0.31442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.93441, 0.31587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.81127, 0.31735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.60036, 0.31883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.31033, 0.32033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 9.97937, 0.32182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.66119, 0.32329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.38888, 0.32475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.12938, 0.32623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.75691, 0.32785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.06834, 0.32977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 6.83937, 0.33215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 4.89696, 0.33503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.18049, 0.3383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -1.22659, 0.34166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -5.10404, 0.34476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -9.14121, 0.34737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -13.00662, 0.34954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.41182, 0.35159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -19.14806, 0.35401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -21.09527, 0.35723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.21543, 0.36149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.53974, 0.36669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.15109, 0.37245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.16041, 0.37812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.68194, 0.38298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -17.81862, 0.38653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -15.66487, 0.38854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.31844, 0.38909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -10.88577, 0.38844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.47702, 0.38683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.20377, 0.38436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.19116, 0.38093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.59472, 0.3764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.59263, 0.37069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.33319, 0.36397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.85554, 0.35658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -3.03393, 0.34893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.58925, 0.3414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.17163, 0.33433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.47337, 0.32796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.31345, 0.32241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.65525, 0.31769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.55975, 0.31376 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.10988, 0.31055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.35395, 0.30798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.30187, 0.30597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -4.97271, 0.30441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.4563, 0.30319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -1.93639, 0.30221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.6432, 0.30144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.2462, 0.30089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.69886, 0.30061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.84987, 0.30063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 0.9441, 0.30092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.22759, 0.30144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 1.84622, 0.30211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.80318, 0.30282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 3.99157, 0.30351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.272, 0.30412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.53882, 0.30467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.73607, 0.30514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.82909, 0.30557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.77182, 0.30597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.50416, 0.30639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.98106, 0.30688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.20567, 0.3075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.49679, 0.30705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.48121, 0.30796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.34735, 0.309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.19599, 0.31017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 10.09016, 0.31144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 10.04196, 0.31276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 10.02306, 0.31411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.98618, 0.31544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.88643, 0.31675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.69833, 0.31802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.42747, 0.31926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.11138, 0.32046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.80078, 0.32162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.52035, 0.32275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.22555, 0.32394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.78355, 0.3253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 6.99666, 0.327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.66155, 0.32912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.63864, 0.33166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 0.90466, 0.33441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.42826, 0.33703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -6.13236, 0.33917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.91456, 0.34065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.4753, 0.34155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.55367, 0.34218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.95179, 0.34298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.54476, 0.34432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28361, 0.34638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.19304, 0.34909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.36206, 0.35212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -18.92628, 0.35495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.04549, 0.35704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -14.88314, 0.35799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -12.59118, 0.35771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.29709, 0.35639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.0905, 0.35439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.01742, 0.35205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.0956, 0.34956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.35372, 0.34694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -0.87493, 0.34405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), 0.19106, 0.34077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.67293, 0.33707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.4663, 0.333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.38599, 0.3287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.67664, 0.3243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.0973, 0.31996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.3505, 0.31584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.24676, 0.31206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.73581, 0.30869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.86528, 0.30577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.70407, 0.30331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.28365, 0.30131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.59442, 0.29974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.63484, 0.29858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.47486, 0.29775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.28164, 0.2972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27637, 0.29688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.36293, 0.2968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.59604, 0.29693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.5527, 0.29729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.47934, 0.29785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.6281, 0.29858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.1494, 0.29942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.04548, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.20333, 0.30123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.47513, 0.30209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.7482, 0.30289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.96259, 0.30363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.08122, 0.30431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 9.0533, 0.30495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.80943, 0.30559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.29255, 0.30627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.49679, 0.30705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.98214, 0.30823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.95611, 0.30928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.78659, 0.31041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.59055, 0.31161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.44936, 0.31283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.38761, 0.31406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.37881, 0.31526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.36802, 0.31638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.29891, 0.31742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.13717, 0.31839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.88467, 0.31928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.57734, 0.32012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.26118, 0.32092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 7.95091, 0.32173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.5913, 0.32266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.04685, 0.32382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.13226, 0.32536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.67237, 0.32731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.56538, 0.32957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), -0.17557, 0.33191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.41643, 0.33394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.93141, 0.33536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.4508, 0.336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.70519, 0.33596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.45501, 0.33552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.51003, 0.33505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.74591, 0.33489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.11667, 0.3352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.65772, 0.33595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.47632, 0.33692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -16.73199, 0.33776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.61293, 0.33811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.31327, 0.33771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.01085, 0.33653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -7.84231, 0.33473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -5.88003, 0.3326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.12581, 0.3304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.53552, 0.3283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.07238, 0.32634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.23535, 0.32444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.2696, 0.32249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.85824, 0.32039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.86254, 0.31813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.26802, 0.31571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.22114, 0.31314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -1.01573, 0.31049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.168, 0.30783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04992, 0.30527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.60518, 0.30287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.87279, 0.30071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.91245, 0.29882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.74518, 0.29724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.34832, 0.29599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.70392, 0.29508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.86191, 0.29449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.96782, 0.2942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.22512, 0.29416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.1958, 0.29436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.25118, 0.29476 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.06173, 0.29535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), -0.13366, 0.29609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), -0.08571, 0.29697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.35724, 0.29797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.20078, 0.29905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.33464, 0.30018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.61086, 0.30131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.91322, 0.30241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.17654, 0.30346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.35813, 0.30446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.40018, 0.3054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.22292, 0.30632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.75608, 0.30725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.98214, 0.30823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.57862, 0.31085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.59512, 0.3121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.43695, 0.31334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.23472, 0.31455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.08863, 0.31572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 9.03792, 0.31681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.06002, 0.31778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.09287, 0.31863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.06774, 0.31935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 8.93965, 0.31995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.70448, 0.32046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.39437, 0.32092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.04929, 0.32135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.6749, 0.32186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.20919, 0.32255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.52037, 0.32355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.44232, 0.32495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 3.8329, 0.32674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.62939, 0.32878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -1.12159, 0.33076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -4.26986, 0.33234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.59614, 0.33322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.85374, 0.33326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.7992, 0.33255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.21209, 0.33132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.915, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79705, 0.32864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.83122, 0.32765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.0754, 0.32699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.65642, 0.32654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -14.74532, 0.32609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.53416, 0.32544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.21809, 0.32442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -7.97636, 0.323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -5.94517, 0.32127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.18852, 0.3194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.68719, 0.31757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.3636, 0.3159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.14023, 0.31443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.99489, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.95436, 0.31188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.57754, 0.31066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.71191, 0.30938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.30642, 0.308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.46031, 0.3065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.39384, 0.30485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.64441, 0.30311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.47761, 0.30133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.04777, 0.2996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.38911, 0.29797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.55777, 0.29649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.57216, 0.29521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.40499, 0.29417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.02811, 0.2934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.47348, 0.29294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.86213, 0.29277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.37274, 0.29287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.15965, 0.29323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.26473, 0.29378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.57744, 0.2945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.87333, 0.29536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.91378, 0.29635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.54906, 0.29747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.23333, 0.29873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.33407, 0.30009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.61293, 0.30151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 3.95417, 0.30295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.28704, 0.30437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.56099, 0.30575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.70973, 0.30707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.64296, 0.30835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.2766, 0.3096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.57862, 0.31085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.19161, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.31654, 0.31611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.23386, 0.3175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 9.08181, 0.31876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.97651, 0.31985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.97225, 0.32077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.0525, 0.3215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.15039, 0.32205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.18574, 0.32243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.10174, 0.32267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.88542, 0.32282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.56192, 0.32291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.16364, 0.32304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.68898, 0.32328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.07428, 0.32378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.19795, 0.32463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 4.91846, 0.3259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.12922, 0.32753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 0.80592, 0.32932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.9742, 0.33096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -5.04716, 0.33213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -8.19892, 0.33257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -11.201, 0.33215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.83244, 0.33096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.89553, 0.32919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.23766, 0.32713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.77713, 0.32507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.51805, 0.3232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.54384, 0.32159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -14.99298, 0.32022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.03137, 0.31899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -10.83402, 0.31779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.57702, 0.31651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.42706, 0.31511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.51662, 0.3136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -2.91034, 0.31206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.58646, 0.31059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.45583, 0.30927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.58086, 0.30813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.56414, 0.30718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.43487, 0.30636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 3.05087, 0.30563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.25948, 0.30491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.9883, 0.30414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.3009, 0.30326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.38092, 0.30222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.45142, 0.30104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.32112, 0.29976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.8782, 0.29845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.25089, 0.29717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.49547, 0.29595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.63447, 0.29486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.64436, 0.29394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.49403, 0.29324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.20127, 0.29281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.86203, 0.29268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.62568, 0.29283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.6238, 0.29324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.89088, 0.29385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.32539, 0.29463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.72105, 0.29554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.85507, 0.29659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.58204, 0.29781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.88011, 0.29921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.16812, 0.30079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.43639, 0.3025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.81317, 0.30428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.22273, 0.3061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.60582, 0.3079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.88771, 0.30966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.96904, 0.31136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.75307, 0.31301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.19161, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.72698, 0.31909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 9.0317, 0.32091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.10111, 0.3225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 9.07121, 0.32382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.0664, 0.32486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.15292, 0.3256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32185, 0.32609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.50565, 0.32635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.61665, 0.32643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.58749, 0.32638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.39433, 0.32625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.05182, 0.3261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.58273, 0.32601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 7.97955, 0.32609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.18127, 0.32647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.0815, 0.32723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.56643, 0.32838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.56553, 0.32982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.09128, 0.33132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.74986, 0.33259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.7787, 0.33333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.78099, 0.33331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.54016, 0.33249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.85656, 0.3309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.56285, 0.32875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.54511, 0.32629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.76383, 0.32375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.25977, 0.32133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.13762, 0.31914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.53613, 0.31722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.60221, 0.31554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.48149, 0.31406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.32148, 0.31269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.27021, 0.31137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.45504, 0.31008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -1.94644, 0.30883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -0.73183, 0.30766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.27404, 0.30661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 1.1776, 0.30573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 2.03802, 0.30502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.82144, 0.30446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.40846, 0.30403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.65599, 0.30366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.48171, 0.30327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.92258, 0.30278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.13002, 0.30212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.302, 0.30127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.59373, 0.30029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), 0.06387, 0.29922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.31528, 0.29813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.60128, 0.29707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.82472, 0.29607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.97224, 0.29519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01645, 0.2945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.96564, 0.29405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.89207, 0.29388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.91392, 0.294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.1357, 0.29439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.57971, 0.29499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -2.15068, 0.29575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.6607, 0.29665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.90477, 0.29771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.74313, 0.29898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -2.14395, 0.30048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.17047, 0.30222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.0683, 0.30417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.46761, 0.30626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.94785, 0.30844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.44157, 0.31066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.86722, 0.31286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.11998, 0.31502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.09432, 0.31711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.72698, 0.31909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.11069, 0.32386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.66065, 0.326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.96138, 0.32782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.13409, 0.32923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.29908, 0.33023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52701, 0.33084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.81604, 0.33112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.10308, 0.33117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.29977, 0.33105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.33268, 0.33084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.16748, 0.33059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.80584, 0.33037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.25863, 0.33025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.51245, 0.33034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.51104, 0.33074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.16541, 0.3315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.39017, 0.33258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.1496, 0.33385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.50865, 0.33504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.44874, 0.33587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.47225, 0.33609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.3582, 0.33555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.89694, 0.33426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.9113, 0.3323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.27215, 0.32986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.91426, 0.32714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.84636, 0.32435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.14455, 0.32166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -13.92731, 0.31919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.32437, 0.31699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.45676, 0.3151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.43725, 0.3135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.38329, 0.31211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.4227, 0.3109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.67626, 0.3098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.22114, 0.30878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.05948, 0.30786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.88023, 0.30705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.70027, 0.30637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.46971, 0.30585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.17661, 0.3055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.727, 0.30529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.99484, 0.30516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.89717, 0.30504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.45156, 0.30481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.78005, 0.30438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 2.05431, 0.30373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.41571, 0.30289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.92169, 0.30192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.54846, 0.3009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.23823, 0.29987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.04823, 0.29888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.31077, 0.29799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.53046, 0.29725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.71046, 0.29673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.90203, 0.29649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.19239, 0.29653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.65673, 0.29684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.30135, 0.29736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -3.03326, 0.29805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.68027, 0.29888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -4.05437, 0.29988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -4.02203, 0.30112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.54263, 0.30263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.66108, 0.30444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.4692, 0.30652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), -0.06431, 0.30882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.47116, 0.31127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.0629, 0.31381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.62546, 0.3164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.05373, 0.31898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.24, 0.32149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.11069, 0.32386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.30991, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.15263, 0.33094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.7526, 0.33295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.20419, 0.33447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.60878, 0.33548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.03023, 0.33602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.47022, 0.3362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.87412, 0.33616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.16058, 0.336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.25702, 0.33582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.12191, 0.33568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.74381, 0.33563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.12018, 0.33574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.23053, 0.33609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.02281, 0.33673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.42461, 0.33768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.37702, 0.33884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 1.87667, 0.34001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.99492, 0.3409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -4.07099, 0.34123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -7.12945, 0.34082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.93756, 0.33964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.29068, 0.33776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.03655, 0.33536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.0887, 0.33262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.43299, 0.32973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.12404, 0.32685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.26681, 0.32408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -12.98643, 0.32154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.39955, 0.31927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.60191, 0.31733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.67716, 0.3157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -5.71631, 0.31436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -3.82788, 0.31326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.12415, 0.31233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.68664, 0.31154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.4673, 0.31086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.39036, 0.31027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 2.17264, 0.3098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.88554, 0.30947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.53512, 0.3093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 4.05408, 0.30928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.33921, 0.30936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.3146, 0.30944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.9845, 0.30939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.44313, 0.30911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.83286, 0.30855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.27635, 0.30774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.82647, 0.30676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.46308, 0.30569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.13035, 0.3046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.7828, 0.30355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.40799, 0.30258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.01471, 0.30176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.39812, 0.30115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.8637, 0.3008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.43968, 0.30073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.17115, 0.30092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -3.04509, 0.30131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.9661, 0.30185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.7733, 0.30253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.29326, 0.30338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.39925, 0.30447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -5.04501, 0.30587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.26119, 0.30761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -3.12564, 0.30967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.7295, 0.31201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.15753, 0.31457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.51102, 0.31729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.19011, 0.32012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78002, 0.32299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.17871, 0.32583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.30991, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.34636, 0.33287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.50305, 0.33544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.44472, 0.33759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.23109, 0.33921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.93209, 0.34029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.59298, 0.34088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.21283, 0.34113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.7462, 0.3412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.12431, 0.34123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.28206, 0.34133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.17577, 0.34157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.78334, 0.34201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.08901, 0.34267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.06406, 0.3436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.65832, 0.34481 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 6.81262, 0.34624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.49073, 0.34771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.71849, 0.34894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.38964, 0.3496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.63392, 0.3494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.76519, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.53694, 0.34625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.75048, 0.34362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.28067, 0.34062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.08339, 0.3375 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.19045, 0.33442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.69334, 0.33147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -13.71666, 0.32873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.387, 0.32624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -10.80885, 0.32404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.05888, 0.32216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.19995, 0.32061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.30317, 0.31937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.46016, 0.31841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -1.7727, 0.31767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.32246, 0.31711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.86095, 0.31668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.81053, 0.31636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.59938, 0.31613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.2951, 0.31603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.91734, 0.31607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.42497, 0.31625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.74124, 0.31651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.80321, 0.31675 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.60668, 0.31683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.21887, 0.31661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.74895, 0.31606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.29448, 0.3152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.89855, 0.31411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.54314, 0.31292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.17659, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.75141, 0.31054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.24625, 0.30947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.66125, 0.30854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), -0.00347, 0.30783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.76503, 0.30737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.65302, 0.30716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.68187, 0.30718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.81616, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.95303, 0.30766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.93801, 0.30807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.60983, 0.30863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.84996, 0.30943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.61132, 0.31054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.91665, 0.31202 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.83518, 0.31387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.45442, 0.31606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.8612, 0.31852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.13769, 0.32122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.63262, 0.32409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.36006, 0.32705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.95502, 0.33002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.34636, 0.33287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.29334, 0.33707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.75696, 0.33963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.04826, 0.34182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.19136, 0.34354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.21897, 0.34477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.14991, 0.34559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 11.974, 0.34614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.65193, 0.34659 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.12812, 0.34712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.34806, 0.34783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.26991, 0.34881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 12.8644, 0.35009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.1045, 0.3517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 10.95296, 0.35363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.35911, 0.35582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.27296, 0.35813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.67667, 0.36026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.6225, 0.36181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.74236, 0.36235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.18328, 0.3616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.42232, 0.35957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.20008, 0.35652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.32657, 0.35288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.70474, 0.34905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.32868, 0.34534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.26645, 0.34191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.63451, 0.33883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.56774, 0.33609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.19083, 0.33369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.5998, 0.33161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -8.86092, 0.32986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.02614, 0.32845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.15438, 0.32737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.32364, 0.3266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.62382, 0.3261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.13216, 0.32582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 1.11435, 0.3257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 2.13137, 0.32569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.97356, 0.32578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.70023, 0.32596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.33987, 0.32625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.87484, 0.32664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.25543, 0.32707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.4348, 0.32744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.40365, 0.32758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.20287, 0.32739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.90512, 0.32679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.57677, 0.32582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.24531, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.89203, 0.32327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.47073, 0.32192 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.93628, 0.32064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.26372, 0.31948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.44858, 0.31848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.49383, 0.31768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.60162, 0.3171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.83951, 0.31672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.20226, 0.3165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.62856, 0.31637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -6.00326, 0.31627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -7.17422, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.99119, 0.31627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.34684, 0.31655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.19962, 0.31716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.57183, 0.31816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.53008, 0.31956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.16102, 0.32136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.55317, 0.32349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.78946, 0.32592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.05155, 0.32858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.89265, 0.3314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.66016, 0.33427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.29334, 0.33707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.25264, 0.34177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 5.99295, 0.34419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.60786, 0.34635 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.09162, 0.34819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.44271, 0.3497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.65244, 0.35097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.69716, 0.35211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.53817, 0.35331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.12852, 0.35471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.42206, 0.35645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.37906, 0.3586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 13.96495, 0.36121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.14327, 0.36427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 11.86867, 0.36775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.08826, 0.3715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.75824, 0.37524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 4.8764, 0.37851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.52056, 0.38071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -2.12769, 0.38127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.79637, 0.37989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.17837, 0.37672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.0042, 0.37226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.09614, 0.36721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.38528, 0.36216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -15.89815, 0.3575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -15.72883, 0.35343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.00787, 0.34996 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -13.87285, 0.34706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.44479, 0.34464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -10.81525, 0.34264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.04789, 0.34103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.19246, 0.3398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.30267, 0.33893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.44648, 0.33841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -1.70153, 0.33821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.13699, 0.33827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 1.20811, 0.33853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.33652, 0.33892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.28571, 0.33939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 4.10425, 0.33992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.82443, 0.3405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.4469, 0.34112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.94573, 0.3417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.28959, 0.34214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.46536, 0.34231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.48877, 0.3421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.39507, 0.34146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.21595, 0.34045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.9585, 0.33918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.59966, 0.3378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.098, 0.33643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.41346, 0.33516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.52242, 0.33403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.42101, 0.33306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.11911, 0.33224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.36565, 0.33155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -2.00468, 0.33095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.74512, 0.33035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.4954, 0.32968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -7.12393, 0.3289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.47872, 0.32807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.42188, 0.32729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.86223, 0.32672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.77107, 0.3265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.1777, 0.32672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.15147, 0.32742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.78028, 0.32856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.15345, 0.33012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.35268, 0.33203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.45034, 0.33425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.48866, 0.33668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.40604, 0.33922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.25264, 0.34177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.31743, 0.34827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.29105, 0.35048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.18051, 0.35263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 8.95989, 0.35469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.60283, 0.35666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.07853, 0.35864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.34959, 0.36073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.3728, 0.36309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.10252, 0.36587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.49435, 0.36919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.50644, 0.37314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.09707, 0.37777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.21972, 0.38306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.82001, 0.38892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 10.84106, 0.39509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.24346, 0.40109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.04049, 0.40619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.33868, 0.40947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.64011, 0.41014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.58126, 0.40787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.14755, 0.40303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.06306, 0.39649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.16665, 0.38932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.41814, 0.38235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -16.87192, 0.37613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.64048, 0.37087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -15.8611, 0.36657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -14.66969, 0.36314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.18313, 0.36043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.4914, 0.35834 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -9.66045, 0.35677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -7.74323, 0.35568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -5.79283, 0.35502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -3.87019, 0.35479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.04133, 0.35493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.36524, 0.35538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 1.12141, 0.35607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.41344, 0.35691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.53422, 0.35781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.52062, 0.35873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.40363, 0.35962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 6.19467, 0.36046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.88436, 0.36117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.45242, 0.36167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.8813, 0.36188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.16392, 0.36171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.30092, 0.36117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.28995, 0.36032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 8.11527, 0.35928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.74528, 0.35819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.13991, 0.35717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.26354, 0.35627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.09641, 0.3555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.63997, 0.35483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 1.91666, 0.35417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), -0.03111, 0.35343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -2.13807, 0.35249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.30946, 0.35123 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.41786, 0.34959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.31209, 0.34761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.84094, 0.34543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.88322, 0.34327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.37072, 0.34135 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.2951, 0.33986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.69908, 0.33892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.65872, 0.33855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.26416, 0.33875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.60441, 0.33946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.75841, 0.34062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.79238, 0.34217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.76123, 0.34402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.28865, 0.34608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.31743, 0.34827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.53747, 0.35868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.69971, 0.36073 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 6.80822, 0.363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 8.82691, 0.36546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 10.71582, 0.36817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.43068, 0.3712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 13.92354, 0.37469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.14414, 0.37877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.04168, 0.3836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.56567, 0.38932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.66503, 0.39603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.28519, 0.40381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.36478, 0.41262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 13.83577, 0.42227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.63303, 0.43233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.719, 0.44199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.12456, 0.45003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 0.99358, 0.455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.39841, 0.45572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.68216, 0.45188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.48607, 0.44424 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.53163, 0.43429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.68054, 0.42366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -17.92469, 0.41356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.34549, 0.40469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.07074, 0.39731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.24164, 0.39139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -15.99137, 0.38678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.43327, 0.38327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -12.65717, 0.38068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -10.73272, 0.37887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -8.7174, 0.37772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -6.66523, 0.37717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -4.63169, 0.37714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -2.67235, 0.37758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -0.83552, 0.3784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.8471, 0.37949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.36653, 0.38075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.73529, 0.38206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.97845, 0.38335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 6.12072, 0.38455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 7.17544, 0.38561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 8.14006, 0.38648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.9985, 0.38714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.72723, 0.38754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.30018, 0.3877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.68977, 0.38764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.86434, 0.38746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.78543, 0.38729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.40843, 0.38723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.6882, 0.38735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.58825, 0.38765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.09079, 0.38802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.20477, 0.3883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 2.97136, 0.38822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.46721, 0.38755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -2.19403, 0.38604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.86444, 0.38356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.37295, 0.38014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.54698, 0.37601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.23992, 0.3715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.35452, 0.36703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.85358, 0.36295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.75598, 0.3595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.12272, 0.35682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -11.03896, 0.35493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.59742, 0.3538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.88585, 0.35336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.97979, 0.35353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.94034, 0.35422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.81576, 0.35536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.35485, 0.35687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.53747, 0.35868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 1.90149, 0.37644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.21643, 0.37851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.49718, 0.38112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 8.70496, 0.38431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 10.79547, 0.38817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 12.71918, 0.39279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.42236, 0.39833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 15.84817, 0.40496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 16.93728, 0.41288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.62728, 0.42229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 17.8508, 0.43336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.53262, 0.44619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.58781, 0.46075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 14.925, 0.47674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.46103, 0.49339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.15389, 0.50926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.05453, 0.5222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.35968, 0.52976 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.57575, 0.53011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.30418, 0.52305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.41007, 0.51021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.61755, 0.49423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -18.82236, 0.47763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.05741, 0.46216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.43569, 0.44873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.10214, 0.43763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.20317, 0.42875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -17.87065, 0.42185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.21548, 0.41663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.32731, 0.41281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.27816, 0.41017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.12812, 0.4085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -7.93079, 0.40767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -5.73633, 0.40756 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.59093, 0.40805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.53313, 0.40901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), 0.41094, 0.41032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 2.23068, 0.41184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.93008, 0.41344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.52232, 0.41502 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 7.02166, 0.41651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.43537, 0.41787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.75852, 0.4191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.97263, 0.42022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 12.04718, 0.42129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.94214, 0.42239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.60997, 0.42363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.99662, 0.42515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 14.04266, 0.42707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.6859, 0.42947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.86682, 0.43234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53753, 0.43553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.67366, 0.43871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.28832, 0.44139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.44552, 0.44293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.26863, 0.44271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -2.0618, 0.44028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -5.32608, 0.43554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.29787, 0.42881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.78176, 0.42075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.64234, 0.41217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.81583, 0.4038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.30439, 0.39619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.16001, 0.38965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.46525, 0.38432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.31587, 0.38018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.80741, 0.37716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -9.02618, 0.37513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -7.04462, 0.374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.92032, 0.37364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.69807, 0.37397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.41369, 0.37492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 1.90149, 0.37644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.33743, 0.40753 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 3.78298, 0.40988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.20569, 0.41325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 8.56811, 0.41771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 10.82706, 0.42339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 12.93326, 0.43047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 14.83147, 0.43915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.46038, 0.44971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 17.75192, 0.46246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.62934, 0.47773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.00433, 0.49584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 18.7737, 0.51705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 17.81822, 0.54137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.00846, 0.56832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.22638, 0.59655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.41246, 0.62339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.63955, 0.64478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.81631, 0.65618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.47502, 0.65461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -11.77029, 0.64045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.23041, 0.61735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -19.59616, 0.59014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -21.81968, 0.56291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -22.99236, 0.53812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.2689, 0.51687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -22.81669, 0.49936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -21.79051, 0.48531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.32291, 0.4743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -18.52294, 0.46585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.47873, 0.45952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.26165, 0.45497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -11.93079, 0.45188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -9.53664, 0.45 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.12329, 0.44915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -4.72866, 0.44911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.38338, 0.44973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.10913, 0.45084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 2.0821, 0.45229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 4.18682, 0.45395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 6.20667, 0.45573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 8.1434, 0.45757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.99363, 0.45949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.74465, 0.46152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.372, 0.46379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.83885, 0.46642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 16.09653, 0.46963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 17.08552, 0.47361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.7364, 0.47859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.9712, 0.48475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.70588, 0.49218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.8556, 0.50081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.34491, 0.51026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.12489, 0.51978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.19809, 0.52819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.64694, 0.53393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 2.65349, 0.53548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.50767, 0.53185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.51361, 0.52305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -9.06133, 0.51016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.92791, 0.49489 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.99654, 0.47899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.24773, 0.46381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.73177, 0.45021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.5391, 0.43857 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.77684, 0.42897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.55299, 0.42132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.96696, 0.41542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -10.10456, 0.41109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -8.0363, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.81808, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.49362, 0.40577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -1.09818, 0.40616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.33743, 0.40753 + 1);
}

TEST(GeoLookupTest, inclination)
{
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.58401, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.59455, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.62019, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.66205, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.7198, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.79138, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.87195, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -64.95256, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.01931, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.05368, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.03405, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.9385, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.74839, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.4524, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.05104, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.56121, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.02015, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.4877, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.04547, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.79158, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.83025, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.25641, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -48.13796, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.4997, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.31498, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.50837, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.96942, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.57229, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -55.19487, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.73229, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -58.10283, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.24766, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.12742, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.71924, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.01671, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.03317, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.8064, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.40159, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -59.90942, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.43749, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.09544, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -58.97782, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.15001, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.64167, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.44829, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.53839, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.86303, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.36512, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.98713, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.67666, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.38941, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -71.08956, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.74763, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.33668, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.82805, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.18814, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.37761, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.35416, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.07912, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.52685, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.69297, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.59617, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.27176, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.76126, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.10403, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.3335, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.47696, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.55686, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59229, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.59983, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.59372, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.58558, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.58401, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.19244, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.20464, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.22442, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.25331, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.2922, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.34191, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.40227, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.47011, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.53727, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.58959, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.60724, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.56626, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.4411, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.20869, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.85454, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.38098, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.8162, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.22159, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.69421, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.36165, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.36751, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.84792, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.90232, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.56704, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.80192, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.49755, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.50087, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.64828, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.79352, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.82278, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.65608, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.23891, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.53041, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.49492, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.10173, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.33356, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.19989, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.7491, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.07378, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.30526, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.59578, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.09128, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -59.90414, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.09625, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.67671, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.61099, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.83526, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.27102, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.83749, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.46063, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -69.0783, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.64114, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.10957, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.44875, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.62433, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.60213, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.35324, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.86222, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.13335, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.18955, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.06399, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.78947, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.39146, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.88671, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.2858, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.59661, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.82711, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.98695, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.08813, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.14475, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17196, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.18404, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.19244, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.39611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.39272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.39141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.39218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.39466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.40048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.41316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.43589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.46851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.50519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.53301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.53113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.4708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.31766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.03878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.61542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.05949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.8338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.43478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.42028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.97348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -41.22804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -42.22798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.90989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -46.11894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.65233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -51.30923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.92718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.3963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.6533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.66236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.39255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.80193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.83535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.43742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.5749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.2589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.55896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.60503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.57433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.66129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.03733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.81697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.04333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.69787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.95768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.36791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.8305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.26367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.60421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.8039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.82365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.63039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.20046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.52806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.63195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.55291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.34114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.26125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.78563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.24084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.6182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.91369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.12883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.27068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.3516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.38807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.39611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.01756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -57.98021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.94105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.8958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.84387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.79006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.74258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.70951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.69537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.69784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.70383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.68525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.59797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.38897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.01452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.46614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.1301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.66521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.64037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.28944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.77921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -38.15449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -40.31785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -43.05936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -46.12197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -49.26874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -52.32548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -55.19193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.82743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -60.22136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -62.36043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -64.2055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.68664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.71826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.22767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.18498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.62317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.64546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.42115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.16548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.09944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.40111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.17013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.41842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.08426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -63.05903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.21624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.4356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.61797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.68916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.59503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.29399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.96416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.93607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.71701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.37463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -68.97674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.57054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.17227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.77033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.33776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.84624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.27508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.6134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.85849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -64.01449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.09254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.11082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.0917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.01714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.92062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.83143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.74312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.6451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.53132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.40444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.27491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.15729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.06619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.01138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -42.99019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -41.97786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.92189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.74901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.38982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.81626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.32276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.78894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.76972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.54853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.31919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -33.11826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.80637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -39.11487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.73271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -46.38758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.89177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -53.14974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -56.13732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.86468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -61.33658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.52392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.35624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.73652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.5715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.80466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.43861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.54321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.25628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -63.77793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.3465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.19075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.47491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.26393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.52287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.14472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.99008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.92317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.83355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.64062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.28524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.90828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.83794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.53529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.06844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.52955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.54239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.14871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.41082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.96895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.43349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.79132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -60.03943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.18087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.22587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.19451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.1152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.01714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.12399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.94167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.78244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.63671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.48578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.31487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.12082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -40.91271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.70855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.53094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.40083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.32609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.28582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.21969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.03531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.64078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.15291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.29239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.69836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.71541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.66717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.76215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -27.02032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -30.26103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -34.16451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -38.37291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -42.57879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -46.57229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -50.2475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.58, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.58782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -59.28888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.66944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.67376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -65.21615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.2084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.58985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.34811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.52711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.23077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.62735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -60.94349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.42973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.29938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.67012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.54184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.3589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -59.01963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.68766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.28078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.73466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -60.99031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -60.99746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.73531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.23537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.58519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -58.90356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.29749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.82335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.47157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.87146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.47773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.96353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.31768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.54062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.63615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.61386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.49607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.3191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.12399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.24206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.94139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.69111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.47974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.27911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.06266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.81772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.54842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.27289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.01881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.81565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.67934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.59095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.4819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.24344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.76848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.01322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.05158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.09663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.47823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.57947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.74429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -17.17918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.88508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -23.65448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -28.13813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -32.94585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -37.73464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -42.25832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -46.37885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -50.04952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -53.28002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -56.09537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.50274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.47713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.96758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.91612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.27846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.03868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.21952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -60.89425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.20126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.34905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.59184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.1691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.23373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.81241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.82097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.11874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.5656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.05306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.50287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.84664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.01065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -54.92429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.55147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -53.92366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.14688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.36972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.72572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.27989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.00783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.59355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.25119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.74806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -49.07817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.24855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.26546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.13832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.89247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.57462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.24206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.29388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.84176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.47968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.19614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -28.95262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.70792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.43636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.13391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.81627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.51361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.26062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.07716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -18.94256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.77939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.46764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.89602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.978, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.9832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.40871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.65113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -7.0475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.7871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.85916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -16.05669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -21.03298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -26.38537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -31.73549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -36.78553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -41.34368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -45.32077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.70467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.52342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.81131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.58911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.86003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.61448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.8361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.6324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.24714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.46468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.48126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.55536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -47.94294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.81589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.21238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.05045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.18936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.49424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.86775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.24127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.54556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.69214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.58717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.17487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.48268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.63345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.80735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.16801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.79158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.63793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.18441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.69035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.98369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -41.08003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.98941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.72187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.30701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.80489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.29388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.31126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.68453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.19803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.8427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.56947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.32016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.05281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.75257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.43109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.11959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -11.85525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.65766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.50081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.29929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.92953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.28892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.30124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.63721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.07953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.6469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.03462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.07845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -3.21342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -7.66467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -12.96384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -18.7179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -24.51866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -30.00879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -34.92958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -39.13781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.59223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -45.32175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.39104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.87421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.83743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.32584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.35348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.90365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -48.94947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.49581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.62667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.52996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.47417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.73323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.49202, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.78975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.5368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.58663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.80883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.12004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.46586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.78053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -38.9635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -38.89827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.50767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -37.81189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -36.94731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.12381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.53524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.26971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.27188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.40001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.2009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.72714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.98589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -33.00152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.78856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.35858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.74703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -27.03006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.31126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.49028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.69091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.08656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.67334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.39285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.16895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -6.94107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.68144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.39661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.11829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -1.88459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.7123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.43088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.6344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 3.01585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.65811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.54169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.50898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.27931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.50716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 11.85803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.07488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.0185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 5.68225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 1.19296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -4.1945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -10.11738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -16.15373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -21.89614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -27.02292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -31.33749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.76781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -37.33968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -39.14281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.29934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.9341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.14402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.97224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.40131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.37863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -37.8731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -35.94037, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -33.75972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.61024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -29.78399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.47719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.72662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.43108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.43479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.6097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -27.88649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.22756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.57527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -28.82252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -28.83475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.51532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -27.87515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.05843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.29732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -25.80989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.69444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.88305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.18168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.36731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.27919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.8547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -25.10404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -24.05823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.73596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -21.15133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.34697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.41644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.49028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.21365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.28107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.59209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.15079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 1.10723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.27418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.42932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.6145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.82915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 7.04174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 8.21381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.3312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.42951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.59518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.93063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.49303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.23763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 17.99707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.50752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.46729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.60029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 19.70066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 17.6514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 14.42868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 10.11014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 4.89129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -0.90913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -6.88115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -12.5975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -17.69877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.94961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -25.24952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.61272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -29.13844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.97954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.30537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.25665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.90402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.23232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.16826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.64899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.70295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.49746, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.31522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.45853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.13001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.36411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.05114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.02825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.16904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.41619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.74886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.12191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.43032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.53125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.31539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -16.78427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.08143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.44718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.11053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.17469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.56474, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.0684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.43965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.49799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -16.16951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.46166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.40734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -13.02783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.34033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.39497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.30122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.21365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.00455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.99463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.71188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 10.14177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.34891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.43587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.49728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.58829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.71535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.84842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.94904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 19.00332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 20.04428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.1472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.3927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.81212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.34411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.82684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.02919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.70338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.63336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 27.66094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 25.69049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 22.68936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 18.70223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 13.87849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 8.48936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 2.9064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -2.46493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -7.26857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -11.25725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -14.30972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.41941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.67484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.23585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.29591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -18.02731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.52556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.78323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.71609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.23885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.35622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.21787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.09606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.28723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -4.99077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.23978, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -3.92427, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -3.88186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -3.98935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.19777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.49974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -4.86549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.20249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.37419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.27031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -4.88531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.35212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -3.90026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.75097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.0046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.58684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.28512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.84805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -6.08431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.90734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.31472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.33446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.98741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.2934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.69159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.84765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.00455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.65459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.60735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.28725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.66757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.80598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.80662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.77261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.76936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.81081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.87055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.9108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.91523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.90819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.94711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.0878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.33921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.63247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.82159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.71446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.11662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 35.86602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 34.84671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 32.98688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.2592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 26.69739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 22.424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 17.66681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 12.74096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 7.99393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 3.7376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.19985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -2.49165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -4.30693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.30831, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.63984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.49582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.06285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.67758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.64898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.27496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.45762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.42353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.37838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 6.05087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.25612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.96121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.26658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.32403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.25029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 8.09017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.84361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.52553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 7.20719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 7.00385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 7.01301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.24272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.5789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.82066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.77253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.34494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.60457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.74626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.00741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.57835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.55701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 4.96158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 5.77582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 6.9833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.56349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.45846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.54662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.65459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.37517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.78074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 28.08178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 29.14648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 30.07089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.95757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.87695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.84984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.85548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.85825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.83792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.80628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.79947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.84866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.01751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 41.94059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.55929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.72537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.32186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.27008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.52594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.08077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 33.97548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.3213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 26.3085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.18864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.2323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 14.68231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 11.72364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.47374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 7.97925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.20837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.04759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.32286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.8532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.51706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.29366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.25, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.47426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.98983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.70052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.40389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.86939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.93569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.56948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.85398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.92165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.87879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.76901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.59119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.34918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 19.08972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.89721, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.84578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.94062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 19.08971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 19.1307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.90477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.33852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.48736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.51681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.63569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.02205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.78083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 14.94792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.52312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.49794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 17.8539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.53614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.43101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.37517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.01932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.64095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.07574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.27629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.27043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.13802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.97183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.84055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.76945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.74438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.73363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.71359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.68292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.65666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.64366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.62075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.51907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.23079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.63254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.61286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.09086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.02071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.38841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.21163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.5479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.5047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.23933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 30.94149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 27.80398, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 24.9963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 22.65215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 20.8671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.69304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.12285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.0773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.41567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.97934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.65143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.39814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.26413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.3203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.59235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 26.01261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.42641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.6514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.55506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 30.10473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.36334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.43907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.4243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.36176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.25339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 30.0968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.91677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.76548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.68972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.68773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.68729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.56464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.19915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.53535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.61778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.59639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.82531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.37274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.28932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.59085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.27809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.3369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.71958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.32792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.01932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.62767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.99854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.25168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.33675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.26565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.09738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.90722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.75497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.6661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.63216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.62648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.62393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.61237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.58897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.5443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.44444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.22257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.78588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.03494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 53.88601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.28639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.21859, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.69742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 48.76735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.50294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.00881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.41283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 38.85094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.4498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.31632, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.53756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.18356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.30169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 29.8992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 29.92619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.27823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.8278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.47196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.16907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.94064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.83517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.87435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 36.01402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 37.14461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 38.13177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.87352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.34029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.57609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.66394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.67979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.66357, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.62082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.54667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.44937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.35373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.28126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.22157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 39.1172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.87656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.41233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.68594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.73393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.66203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.61193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.71986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.08718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.77332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.80612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.19436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 33.92888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 34.97133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.24277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.62767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.36043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.45891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.51173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.47234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.3404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.15326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.96415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.8179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.73506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.70999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.72076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.74269, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.75665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.74697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.69101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.54744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.25151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.72174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 58.8762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.65154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.0168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 56.97756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.57258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 53.86745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 51.94822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 49.91408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 47.86739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 45.90228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.09663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.5119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.19957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.20643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.56975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.30159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.37247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.70956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.21693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.8101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.44522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.12478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.87558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.71195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.60661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.48757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.26319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.86097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.25716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.48075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.59149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.64772, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.68343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.70573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.70867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.68931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.65224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.59897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.51105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.34095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 47.0213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.49113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.72666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.76002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.67589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.58893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.61418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.84428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.34087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.13814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.25001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.6718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.37475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.29982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.36043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.43609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.2684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.12084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.95582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.76578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.56902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.39612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.27376, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.21327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.20813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.23934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.28358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.32017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.25863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.0883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.74694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.16185, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.26412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.00572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.3722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.38651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.10401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.60278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 56.97259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.3041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.67879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.1616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 50.79904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.62404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.66451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 47.94882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.50235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.33542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.43022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.7374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.71613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.28038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.87048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.16354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.85697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.53301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.13497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.61658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.96172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.18871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.33753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.44899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.54821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.64051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.71837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.7713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.79009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.76221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.66313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.45224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 54.08001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.50593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.71905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.7503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.66987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.55111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.69032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.04741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.65769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.5372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.68483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.08076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.68428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.43609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.0875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.68544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.35615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.07296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.82549, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.61786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.46133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.36511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.32962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.34458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.44834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.49088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.49229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.4182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.22221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.84546, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.22287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.29618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.02955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.42111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.5055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.34701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.02748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.63344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.24492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 58.92715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.7266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.67225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.78176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.06921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.54985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.23803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.13906, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.24027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.50782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.89315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.34685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.83273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.33415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.84939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.37914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.91449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.43266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.90338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.30165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.61914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.86723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 60.07012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.2525, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.42883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.59946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.75363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.87505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.94533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.9429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.83981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.60127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.1918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.58745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.78883, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.82808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.76583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.67959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.64888, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.74266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.01236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.49071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.1938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.12331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.26738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.0875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.52337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.06985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.53235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.37584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.28941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.26404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.28493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.33265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.38488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.41701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.40051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.29972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.06912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.65389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 70.99622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.04743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.78222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.20851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.36789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.32709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.16502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 65.96019, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.78122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.68097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.69493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 61.84356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.13767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.5843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.19022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 59.96106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.89666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 59.9858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.20412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.51745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.88966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.29131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.70457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.1222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.5418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.9592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.36526, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.74781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.09716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.4113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.69725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.96739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.23277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.49697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.75335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.98618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.17384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.2915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.31218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.20704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.94737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.51001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.88542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.08494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.14327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.11462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.06372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.05548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.37894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.36978, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.1469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.1079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.52337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.89099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.10434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.73323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.45982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.27489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.16696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.12136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.12016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.14275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.16638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.16577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.11147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 72.9675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.68972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.2273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.52916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.55554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.29071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.75044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 72.98004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.04431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.01509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 69.96049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 68.93791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 67.99053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.14711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.42422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.83017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.3689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.04236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.85043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.78884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.84666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.00541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.24085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.52725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.84229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.17045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.50354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.83858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.17464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.51065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.84519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.1778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.51031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.84679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.1913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.54446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.90032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.24483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.55643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.80815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.97024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 71.01259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.90741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.63275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.17711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.75449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.84618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.86841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.87544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.91941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.04501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.28648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.66711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.20035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.8918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.7411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.74347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.89099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.25235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.45182, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.77707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.22227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.78022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.44191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.19617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.02934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.92524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.86538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.82925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.7942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.73472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.62086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.41654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.07872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.55964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.81384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.80944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.53942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.02624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.3169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.55438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.62107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.71889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 71.88288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.13682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.49505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 69.96494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.54931, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.24788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.05773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 68.9727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.98266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.07347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.22811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.42897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.66049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.91125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.17481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.44915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.73538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 71.03629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.35532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.69603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 72.06154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.45351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.87054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.3063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.74787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.17502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.56082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.87337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 75.07882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.14513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 75.04659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.76829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.30963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.68563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.92558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.06917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.16148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.24784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.36963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.56147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.84993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.2536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.78421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.44812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.24783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.18323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.25235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.58559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 70.99602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.37007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.84967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.42694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.09173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.83159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.6319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.47603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.34527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.21841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.07083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.87308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.58938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.17748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.59164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.79046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.74878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.46753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 79.97507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.31903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.55453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.73477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.9058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.10447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.3584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.68677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.10175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.60996, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.21387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.91277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.70328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.57957, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.55476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.63223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.75466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.91236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.09825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.30849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.54247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.8022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.09138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.41439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.77519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.17619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.61701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 76.09309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.59441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 77.10437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.59928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 78.04872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.41719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.66747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.7659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.68854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.42662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.98882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.3994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.69352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.91155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.09428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.27941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.49954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.78115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.14454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.60429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.17026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.84865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.64305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.55524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.58559, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength)
{
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58412.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57264.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56103.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 54938.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53774.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52615.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51460.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50302.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49130.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 47928.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46678.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45362.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 43969.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42492.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 40936.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39313.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37649.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 35977, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34335.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32769.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31322, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30032.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 28930.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28028.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27325.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26800, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26420.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26145.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 25935.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25757.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25587.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25415.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25244.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25088.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 24975.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 24941, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25028.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25286.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25762.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26497, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27517.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28834.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30442.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32317.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34424.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36719.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39151.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41670.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44228.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46780.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49287.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51715.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 54033.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56209.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58214.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 60019.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61598.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62932, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 64007.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64822, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65380.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65694.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65780.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65658, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65346.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64865.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64236.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63477.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62609.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61650.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60619.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59535.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58412.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56255.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55053.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53842.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52631.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51427.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50235.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49054.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 47881.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46706.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45511.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44277.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 42985.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41617.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40165.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38628.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37015.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35349.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33662.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 31999.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30411.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 28952.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27673.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26614.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25795.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25212.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24840.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24631.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24533.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24491, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24461.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24415.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24338.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24231, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24103.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 23980.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 23896.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 23902, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24055, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24420.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25058.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26014.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27312.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28950.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30903, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33124.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35556.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 38133.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40791.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43467.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 46109.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48675, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 51128.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53442.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55588.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57539.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59270.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60758.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61987.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62950.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63650.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64098.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64308.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64301.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64094.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63707, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63156.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62461.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61637.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60704.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59680.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58584.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57437.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56255.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53912.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52682.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51447.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50214, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 48989.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47779.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46585.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45407.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44237.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43061.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41862, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40618.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39312.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 37932.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36471.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 34932.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33331.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31697, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30073.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28517, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27092.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25862, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24876.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24161.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23715.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23502.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23464.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23536.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23654.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23772.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23859.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23901.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 23894.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23844.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23762.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23677.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23632, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23689.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 23926.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24425.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25254.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26456.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28044.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29993.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32253.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34754.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37414.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 40151.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42888.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45561.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 48122.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50537.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52778.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54824, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56650.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58236.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59565.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60630.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61434.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61988.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62310.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62419.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62331.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62064.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61630, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61042.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60314.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59459.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58494.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57437.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56307.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55126.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53912.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51412.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50180.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 48945.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47714.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46491.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45282.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44090.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 42919.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41765.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40619, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39466.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38292, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37077.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35807.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34469.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33058.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31580.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30055.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28527.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27054.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25707.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24560.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23671.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23072.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22758.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22688.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22796.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23008.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23260.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23509.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23729.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23910, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24046.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24132.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24165.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24154.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24126.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24138.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24272.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24621.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25279.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26313.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27758, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29603.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31803.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34281.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36942.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39686.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42419.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 45066.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47571.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49896.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 52016.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53910, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55557.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56943, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 58059.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58911.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59518.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59903.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60092.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60105.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59954.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59646.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59188.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58587.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57852.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 56992.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56022.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54958.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53820.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52631.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51412.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48770.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47562.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46355, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45152.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 43957.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42774.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41607.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40462.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39340.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38239.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37150.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36061.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 34959.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33826.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32645.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31400.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30086.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28718.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27331.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 25985.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24756.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23721.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 22944.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22458, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22257.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22299.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22514.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22828.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23182.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23541.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23889.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24223.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24535, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24808.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25021.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25157.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25224.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25261.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25342, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25565.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26037, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26850.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28066.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29703.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31731.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 34077.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36639.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39303.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41960.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44522.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46923.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 49121, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 51087.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52798.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54235.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55386.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56253.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56861.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57247.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57452.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57509.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57436.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57235.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56904.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56438.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55838.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55110.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54264.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53310, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52262.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51141.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49969.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48770.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46014.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44858, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43707.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42564.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41428.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40301.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39190.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38100.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37038.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36005.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35000.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34016.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33043.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32064.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31058.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30001.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28878.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27696.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26486.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25304.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24224.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23321.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22658, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22269.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22152.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22266.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22546.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22927.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23357.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23809.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24278.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24765.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25262.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25740.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26161.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26485.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26696.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26813.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 26896.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27033.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27334.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27907.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28841.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30186.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31941.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 34050.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36411.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38904.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41407.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43821.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 46072.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 48112.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49905.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51423.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52639.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53544.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54152.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54506.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54667.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54694.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54628.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54482.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54246.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53901.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53434.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52842.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52130.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51308.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50386.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49375.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48294.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47165.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46014.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43203.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42129.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41067, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40015.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 38973.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 37939.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36921, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 35924.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 34957.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34025.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33130.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32272.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31443.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30629.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29805.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 28943.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28025, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27048.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26038.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25044.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24130.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23364.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22804.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22485.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22410.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22551.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22857.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23273.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23757.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24289.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24865.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25487.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26801.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27407.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27908, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28269.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28491.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28612.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28705.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28871.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29221.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29864.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30881.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32304.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 34099.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36176.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38415.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40690.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42895.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44952.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46807.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48416.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49739.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50743.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51416.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51781.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51900.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51854.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51722.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51550.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51344, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51080.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50726.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50259.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49675.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48982.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48191.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47313.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46357.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45338.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44279.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43203.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40446.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39485.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38542, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37614.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36699.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35795.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34907.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34044.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33212.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32417.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31665, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 30955.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30285.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29641.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29000.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28336, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27624.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26860.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26060.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25261.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24513.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23872.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23389.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23101.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23020.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23139, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23426.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23844.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24357.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24946.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25601.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26318.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27081.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27853.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28581, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29205.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29683.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30000.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30174.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30258.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30334.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30510.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30901.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31610.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32696, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34148.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35896.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37825.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39815.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41760.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43584.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45229.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46644.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47780, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48593.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49067.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49231.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49157.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48945.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48685.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48427.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48170.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47880.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47514, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47042.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46463, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45786.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45030.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44204, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43317, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42381.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41417.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40446.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37897.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37078.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36281.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35505.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34745.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34000.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33277.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32581.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31921, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31298.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30718.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30180.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29682.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29214.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28757, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28285.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27777.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27221.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26623.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26006, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25403.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24860, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24418.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24116.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 23980.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24024.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24243.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24617.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25120.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25726.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26415.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27171.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27970.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28777.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29545.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30220.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30761.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31143.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31369.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31470.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31509.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31578.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31792.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32261.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33058.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34192.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35608.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37208, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38882.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40537.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 42100.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43517.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44733.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45691.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46341.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46661.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46681.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46476.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46152.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45802.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45475.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45169.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44843.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44451.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43963.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43379.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42716.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41993, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41223.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40415.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39581.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38736.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37897.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35735.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35079.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34451.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33844, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33255.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32688.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32150.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31647.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31183.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30760.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30375.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30028.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29714.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29427.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29151.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28866.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28550.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28184.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27763.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27295.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26802.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26317.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 25877.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25522.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25290.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25213.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25311.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25587.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 26024.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26590.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27254.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27983.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28750.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29520.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30257.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30918.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31470, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31885.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32156.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32296.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32348.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32388.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32519.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32844.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33437, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34314.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35436.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36724, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 38086.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39446.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40744.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41927.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42944, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43735.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44250.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44463.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44399.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44128.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43747.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43342.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42957.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42591.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42207.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41765.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41241.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40639.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39979.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39284.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38570.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37848.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37127.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36419.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35735.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34118.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33637, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33183.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32751.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32339.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31954.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31606.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31305.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31051.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30842, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30668.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30523.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30403.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30300.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30205.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30097.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 29953.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29747.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29464.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29102.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28674.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28206.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27734.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27298.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 26943.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26714.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26653.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26780.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27091.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27554.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28129.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28774.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29454.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30140.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30802.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31412.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31943.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32371.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32682.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32878.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 32988.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33071.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33210.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33493.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33978.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34681.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35571.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36591.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37675.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38765.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39814.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40777.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41606.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42247.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42653.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42799.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42702.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42417.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42021.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41583.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41139.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40691.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40218.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39693.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39105.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38463.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37791.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37112.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36447, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35806.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35201.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34638.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34118.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33142.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32827, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32541.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32276.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32032.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31821.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31659.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31556.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31512.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31519.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31561.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31625.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31704, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31789.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31870.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 31927.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 31931.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31852.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31666.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31365.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 30959.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30472.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 29941.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29406.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 28917.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28529.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28295, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28247.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28391.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28703.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29141, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29659.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30223.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30804.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31381.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31933.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32439, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32875.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33226.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33491.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33690, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33867.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34086.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34407.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34868.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35474.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36202.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 37015.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37873.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38740.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39580.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40357.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 41027.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41543, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41865.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41973.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41876.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41608.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41219.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40753.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40238.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39683.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39085.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38440.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37753.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37042.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36332.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35648.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 35012.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34438.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33936.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33506.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33142.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32824.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32648.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32509.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32392.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32300.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32249.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32259.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32342.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32499.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32715, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 32968.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33240.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33517.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33789.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34040.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34249.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34380.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34399.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34276.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34002.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33585.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33052.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32443.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31802.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31185.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30650.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30254.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30038.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30011.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30156.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30436.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30812.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31252, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31732.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32237.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32746.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33238.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33690.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34085.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34423.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34721.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35015.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35347.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35750.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36238.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36804.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37431.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38100.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38795.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39498.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40186.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40826.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41380.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41808.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 42077.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42171.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42090, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41847.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41466.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40966, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40365.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39681.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38930.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38132, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37311.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36497.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35717, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34997.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34359.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33820.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33389.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33063, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32824.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33126.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33049.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33022.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33028.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33069, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33161.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33328.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33583.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33924.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34332.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34783.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35252.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35720, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36169.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36581.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 36927.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37168.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37264.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37185.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 36918, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36474, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 35883.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35189.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34446.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33713.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33055.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32529, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32173.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32001.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 31996.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32130.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32371.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32698.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33093.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33544.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 34029.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34523.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34998.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35437.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35842.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36230.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36631.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37070.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37558.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38090.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38650.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39223.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39805.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40398.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 41000.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41597.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42159.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42651.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 43036.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43287.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43388.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43330.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43110.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42727, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42182.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41488.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40665, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39747.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38778.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37800.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36853.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35970.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35180.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34504.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33960.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33555.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33285, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33126.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33991.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33966.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34013, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34113.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34267.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34489.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34799.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35208.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35712.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36291.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 36917.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37560.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38197.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38805.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39359.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39825.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40160.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40322.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40277.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40013.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39542.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 38897.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38127.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37294.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36466.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35711.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35087.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34629.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34346.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34224, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34238.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34368.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34600.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34926.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35334.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35804.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36303.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36801.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37278.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37734.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38187.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38663.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39176.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39725.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40293.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40859.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41412.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41957.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42507.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 43068.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43632.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44174.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44657, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 45046.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45313.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45440.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45410.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45207.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44815.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44223.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43437.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42484, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41410, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40273.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39132.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38040.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37034.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36147.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35401, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34811.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34387.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34121.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33991.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35368.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35351.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35436.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35604.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35852.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36189.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36628.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37174.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37819.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38541.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39309.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40094.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 40867, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41601.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42268.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 42828.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43238.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43453.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43440.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43185, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42698.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42015.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41189.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40290.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39391.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38565.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37868.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37333.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 36966.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36754.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36676.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36716.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36870.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37134.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37501.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37949.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38444.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38951.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39447.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39932.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40420.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40932.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41480, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 42056, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42642, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43218.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43778.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44329.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44887.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45461.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 46045.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46614, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 47131.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47561.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47872.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 48041.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 48043.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47855.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47451.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46817, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45956.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44899, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43698.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42422.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41140.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39913.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38786.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37794.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36960.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36299.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35819.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35515.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35368.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37223.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37184, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37277.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37489.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37811.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38246.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38796.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39458.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40217.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41049, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 41922, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42805.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43670.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44487.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45225.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 45844.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46301.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46552.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46564.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46322.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 45835.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45138.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44286.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43350.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42409.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41533.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40781.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40183.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39745.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39455.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39298.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39262.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39345.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39548.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39865.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40274.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40743.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41236.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41729.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42216.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42710.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43225.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43773.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44349, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44939.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45530.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46118.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46710.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47319.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47950.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48594.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49225.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49806.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50299.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50669.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50885.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50921, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50745.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50334, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49671.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48762.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47639.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46359, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44992.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43613.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42288.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41068.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39987.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39070.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38333.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37782, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37416, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37223.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39524, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39449.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39535, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39768.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40142.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40650.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41285.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42032.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 42870.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43772, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44705.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45639.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46545.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47394.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48155.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48789.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49257.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49519, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49542.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49312.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 48838.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48150.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47302.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46362.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45406.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44504.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43710, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43055.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42550.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42187.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41954.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41844.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41857, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41992.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42244.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42594.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 43011.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43463.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43927.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44393.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44868.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45366.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45895.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46458.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 47050.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47663.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48297.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48955.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49643.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50359.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 51087.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51799.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52455.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 53017.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53445.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53707.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53770.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53607.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53194.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52521.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51597.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50455.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49151.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47755.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46341.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44976, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43709.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42578.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41607.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40810.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40197.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39770, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39524, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42220.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42114.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42183.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42421.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42819.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43365, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44042.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44830.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45701.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46624.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47567.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48500, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49394.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50223.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 50957.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51562.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52003.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52245.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52261.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52039, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51583.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 50923.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50106.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49192.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48250.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47344.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46525, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45824.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45257.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44822, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44514.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44329.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44267.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44326.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44499.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44771, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45114.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45502.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45914.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46340.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46784, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47254.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47762, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48314.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48913.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49557.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50247.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50983, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51760.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52568.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53384.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54176, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54902.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55523, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55998.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56293.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56378, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56226.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55822.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55161.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54256.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53143.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51874.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50516, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49135.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47794.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46542.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45415, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44434.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43617.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42972.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42505.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42220.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45209.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45085.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45137.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45362.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45750.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46288.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 46956.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47728.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48573.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49460.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50358, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51236.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52068.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 52829.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53492.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54029.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54410.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54608.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54600.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54378.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 53946.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53328.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52563, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51701.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50801.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 49918.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49096.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48369.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47753.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47256.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46879.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46621.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46481.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46458.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46543.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46723.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46979.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47288.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47635.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 48012.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48418.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48863.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49356.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49907.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50523.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51204.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51951.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52757.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53613.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54498.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55384.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56234.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 57009.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57666.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58169.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58483.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58582.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58445.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 58064, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57439.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56591.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55554.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54376.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53116.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51833.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50583.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49408.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48341.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47405.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46614.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45979.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45509, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45209.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48318.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48190.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48223.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48415.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48761, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49244.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49845.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50540.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51298.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52089.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 52885.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53658.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54383.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55036.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55595.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56036.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56336.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56474.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56435, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56211.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55807.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55243.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54548.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53762.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 52932, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52100.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51306.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50580.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49943.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49406.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48975.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48653.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48441.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48337.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48334.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48422.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48588.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48816.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49096.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49422.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49795.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50221, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50708.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51267.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51902.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52616.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53405.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54259.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55162.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 56088.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 57006.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57879.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58667.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59331.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59838.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60156.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60266.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60152.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59811.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59253.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58498.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57579.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56540.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55430.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54299.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53193.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52148.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51194.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50349.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49629.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 49045.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48605.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48318.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51309.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51183.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51192.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51336.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51607.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 51995.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52482.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53046.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53664.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54309.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 54957, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55582.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56164.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56682.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57116.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57447.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57657.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57733, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57662.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57441, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57074.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56575.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 55966.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55277.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54541.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53791.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53060.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52372.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51749.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51204.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50748.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50385.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50119.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49948.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49870.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49879, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49965.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50122.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50343.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50626.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50970.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51382.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51867.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52431.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 53077.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53804.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54605.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55466.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56369.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57286.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58186.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 59034.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59795, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60433.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60920.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61232.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61352.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61273.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60995.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60531.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59902.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59137.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58273.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57351, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56409, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55483.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54605.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53797.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53078.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52461, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51954.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51568.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51309.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53924.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53799.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53777.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53858.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54037.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54304.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54648.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55052, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55497.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 55965.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56435.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 56889.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57309.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57677.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 57977.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58195.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58318.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58336.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58241.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58031.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57710.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57286.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56777, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56200.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55579.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54939.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54303.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53692.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53124, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52612.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52167.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51798.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51509.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51301.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51176.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51130.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51162, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51267.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51444.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51692.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 52013, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52408.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52881.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53433.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 54064.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54769.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55538.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56356.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57204.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 58056.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58884.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59660, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60352.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60933.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61381.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61677.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61810.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61777.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61580.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61232.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60752.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60164.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59496.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58780.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 58044.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57317.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56621.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55976.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55396.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54894, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54476.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54151.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53924.4, 145 + 500);
}
